home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 20 / AMIGAplus Sonderheft 20 (1999)(ICP)(DE)[!].iso / PublicDomain / Alternatives / LinuxAPUS / Docs / cv64.txt < prev    next >
Text File  |  1999-01-01  |  7KB  |  152 lines

  1. How to use the CV64 (not 3D) driver under Linux/m68k
  2. Author: Alan Bair  abair@prismnet.com
  3. Dated:   01/28/1999
  4.  
  5. I have tested as much of this as I can on my A3000/25 8MB with
  6. CV64-2MB. This was primarily just for console usage, so at this
  7. point I don't have much information about X Server usage. So, I 
  8. need more people to test this to make sure it is all OK and add
  9. any details about using the X Server with these setups before I 
  10. put it into the mainstream documentation. I plan to get the info
  11. merged into the kernel source documentation, FAQ and Framebuffer 
  12. HOWTO.
  13.  
  14. The driver code has gone through a fair amount of updating recently,
  15. so the verison of kernel being used makes a big difference in how
  16. you need to perpare for and use the driver. See the section below
  17. that applies to your kernel.
  18.  
  19. The 8 bits/pixel modes work correctly at this time. Acceleration
  20. is only partially supported if at all.  Some 16 bits/pixel code is
  21. implemented, but does not work correctly. No 24 bits/pixel code
  22. is implemented. X Windows probably only works at 8 bits/pixel.
  23.  
  24. Kernels 2.0.3x
  25. ---------------
  26. With these kernels the driver was not able to initialize the CV64
  27. during boot-up, so the board had to be setup properly under AmigaDOS
  28. for the mode desired under Linux before booting Linux.
  29.  
  30. The only available modes under Linux (without editing the driver) are:
  31. 8 bits/pixel
  32.    640x480, 800x600, 1024x768, 1152x886, 1280x1024, 1600x1200
  33. 16 bits/pixel - does not work correctly, only for testing
  34.    800x600
  35.  
  36. Under AmigaDOS you must create a CyberGraphX mode to match the one
  37. you want to use under Linux. I use the following CyberGraphX environment
  38. variable settings on my machine:
  39.    CPU2C=0 (Some users had to use CPU2C=1 on their machine)
  40.    HIRESCRSR=0, HIDE15BIT=1, ALERTMENU=0, NOCHIPSCREEN=0
  41.    PLANES2FAST=0, NOPASSTHROUGH=0, KEEPAMIGAVIDEO=1
  42.    BOOTLOGO=1, SAVEMEM=0
  43. When you select the mode in the 'screenmode' tool, also make sure the
  44. following settngs are made:
  45.    No Autoscroll
  46.    Color slider matches mode; 8 bits/pixel = 256
  47.    Window size default button selected; same size as selected mode
  48.  
  49. Once you have AmigaDOS booted with the selected graphics mode, you
  50. boot into Linux using 'amiboot', Lilo can NOT be used. Here is an example 
  51. for using the mode 640x480 with 8 bits/pixel:
  52.    amiboot -v -k vmlinux root=/dev/sda1 video=cyberfb:640x480-8
  53. The "-v" option prevents reseting of the graphics board so the AmigaDOS
  54. graphics mode stays in affect. Substitute "vmlinux" and "/dev/sda1" as
  55. required for your setup. 
  56.  
  57. If no mode or an illegal one is specified after the "video=cyberfb:", the 
  58. 640x480-8 mode should be used by default. There is also a set of 
  59. alternate names for some modes that are still in the code, but should 
  60. probably not be used any more since I plan to remove these in favor of 
  61. the more direct XxY-BPP coding.
  62.    cyber8 = 640x480-8
  63.    cyber16 = 800x600-16
  64.  
  65. NOTE: Considering the age of this kernel and that the CV64 can be used,
  66. I don't plan on doing much more work on this driver, but instead will be
  67. concentrating on the newer kernels.
  68.  
  69.  
  70. Kernels 2.1.124-130
  71. --------------------
  72. I provided a complete update of the cyberfb.c/h code for 2.1.120.
  73. With these kernels the CV64 is initialized by the driver on boot-up, 
  74. so no presetup is required under AmigaDOS. Besides the builtin
  75. modes, the 'fbset' program can be used to change the mode on the
  76. fly. See the documentation for 'fbset' for details on using it. The main
  77. problem is getting the timing values for a desried mode.
  78.  
  79. The only available modes during booting (without editing the driver) are:
  80. 8 bits/pixel
  81.    640x480, 800x490, 800x600, 1024x768, 1152x886, 1280x1024
  82. 16 bits/pixel - does NOT work correctly, only for testing
  83.    640x480
  84. 24 bits/pixel - does NOT work, only for testing
  85.    640x480
  86.  
  87. Using 'amiboot' or Lilo, boot Linux with the desired graphics mode.
  88. Here is an example that matches with the earlier example for 2.0.3x:
  89.    amiboot -k vmlinux root=/dev/sda1 video=cyber:640x480-8
  90. The "-v" option is no longer required. Note that the video driver
  91. identifier has changed from "cyberfb" to "cyber".  Again, substitute 
  92. "vmlinux" and "/dev/sda1" as required for your setup. 
  93.  
  94. The default mode is 640x480-8. The "cyber8" and "cyber16"  names
  95. are still in place, but I discourage there use since I will be turing
  96. them off.
  97.  
  98. These kernels also support using multiple graphics display drivers.
  99. For my testing of the CV64 driver, I have two monitors connected,
  100. one to the normal Amiga output and one on the CV64 without the
  101. passthrough cable. It should be possible to do this with a single
  102. monitor with the passthrough cable, but currently the driver does
  103. not handle switching the passthrough correctly. Here is an example
  104. of an 'amiboot' command to do this:
  105.    amiboot -k vmlinux root=/dev/sda1 video=amifb:ntsc-lace
  106.       video=cyber:640x480-8 video=map:0110000000
  107. This puts the CV64 display on VCs 2 & 3 and the Amiga display
  108. on all the other VCs. There are occasionally some messed up
  109. dislays on VC 1, but it generally works nicely for me.
  110.  
  111.  
  112. Kernels 2.1.131 and later
  113. ------------------------
  114. The 2.1.131 kernel includes updates dealing with use of virtual vs
  115. physical addresses for certain Framebuffer usage. I have not been able
  116. to get a working kernel with these updates. Still trying to figure out
  117. this problem which only seems to affect a small number of users.
  118.  
  119. The 2.2.x kernels build OK, but I have not been able to boot any of them,
  120. except maybe the 2.2.0.pre4 one. In any case, this has stoped me from 
  121. doing any further work on the driver for the 2.2 stable kernel release.
  122. As of now, I think the CV64 driver may be broken in 2.2.x kernels.
  123. Hopefully the kernel problem will be fixed and I will be able to work 
  124. on the driver again. 
  125.  
  126.  
  127. Improvements I'll try to work on
  128. ---------------------------------
  129. * Get acceleration working and/or improved
  130. * Release an AmigaDOS program to convert the CyberGraphX monitor
  131.    modes file into entries for the 'fbset' program and X Windows config
  132. * Try to get 16/24 bits/pixel modes working
  133. * Merge cyberfb. c and S3triofb.c
  134. * Maybe dive into the X server code
  135.  
  136.  
  137. Notes on CV64/3D
  138. ------------------
  139. I don't have one of these, so I can't do any testing, but here is what
  140. I think is the situation with the driver. Those of you working on this
  141. driver please provide any corrections or further details.
  142.  
  143. * Barely supported in 2.0.3x kernels, though I think some work is
  144.    underway to improve this.
  145. * None of the drivers can initialize the board during boot-up, so
  146.    similar AmigaDOS setup is needed like for CV64 under 2.0.3x.
  147.    Work is starting on fixing this like with the CV64.
  148. * Initial support for ZorroII mode has recently been completed and
  149.    may be in the latest driver now.
  150.  
  151.  
  152.